﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//namespace ClimateControl.Infrastructure.Service
//{
//    public class ClimateCallback : BaseViewModel, IClimateCallback
//    {
//        #region Fields
        
//        //public delegate void CallbackEventHandler<T>(object sender, CallbackEventArgs<T> e);

//        //public event CallbackEventHandler<IEnumerable<Vote>> VotesChanged;
//        //public event CallbackEventHandler<bool> IsAirConOnChanged;
//        //public event CallbackEventHandler<int> TemperatureChanged;
//        //public event CallbackEventHandler<int> VoteExpiryChanged;
//        //public event CallbackEventHandler<double> VoteFrequencyChanged;
//        //public event CallbackEventHandler<bool> IsBigFanOnChanged;
//        //public event CallbackEventHandler<int> UpdateFrequencyChanged;

//        private bool _isAirConOn;
//        public bool IsAirConOn
//        {
//            get { return _isAirConOn; }
//            set { SetAndNotify(ref _isAirConOn, value); }
//        }

//        private int _temperature;
//        public int Temperature
//        {
//            get { return _temperature; }
//            set { SetAndNotify(ref _temperature, value); }
//        }

//        private int _voteExpiry;
//        public int VoteExpiry
//        {
//            get { return _voteExpiry; }
//            set { SetAndNotify(ref _voteExpiry, value); }
//        }

//        private bool _isBigFanOn;
//        public bool IsBigFanOn
//        {
//            get { return _isBigFanOn; }
//            set { SetAndNotify(ref _isBigFanOn, value); }
//        }

//        private double _voteFrequency;
//        public double VoteFrequency
//        {
//            get { return _voteFrequency; }
//            set { SetAndNotify(ref _voteFrequency, value); }
//        }

//        private int _updateFrequency;
//        public int UpdateFrequency
//        {
//            get { return _updateFrequency; }
//            set { SetAndNotify(ref _updateFrequency, value); }
//        }

//        private IEnumerable<Vote> _votes = new List<Vote>();
//        public IEnumerable<Vote> Votes
//        {
//            get { return _votes; }
//            set { SetAndNotify(ref _votes, value); }
//        }

//        #endregion Fields

//        #region Methods

//        //public void SetVotes(IEnumerable<Vote> votes)
//        //{
//        //    if (VotesChanged != null)
//        //        VotesChanged(this, new CallbackEventArgs<IEnumerable<Vote>>("Votes", votes));
//        //}

//        //public void SetAirConOnOff(bool isAirConOn)
//        //{
//        //    if (IsAirConOnChanged != null)
//        //        IsAirConOnChanged(this, new CallbackEventArgs<bool>("Votes", isAirConOn));
//        //}

//        //public void SetTemperature(int temperature)
//        //{
//        //    if (TemperatureChanged != null)
//        //        TemperatureChanged(this, new CallbackEventArgs<int>("Votes", temperature));
//        //}

//        //public void SetVoteExpiry(int voteExpiry)
//        //{
//        //    if (VoteExpiryChanged != null)
//        //        VoteExpiryChanged(this, new CallbackEventArgs<int>("Votes", voteExpiry));
//        //}

//        //public void SetBigFanOnOff(bool isBigFanOn)
//        //{
//        //    if (IsBigFanOnChanged != null)
//        //        IsBigFanOnChanged(this, new CallbackEventArgs<bool>("Votes", isBigFanOn));
//        //}

//        //public void SetVoteFrequency(double voteFrequency)
//        //{
//        //    if (VoteFrequencyChanged != null)
//        //        VoteFrequencyChanged(this, new CallbackEventArgs<double>("Votes", voteFrequency));
//        //}

//        //public void SetUpdateFrequency(int updateFrequency)
//        //{
//        //    if (UpdateFrequencyChanged != null)
//        //        UpdateFrequencyChanged(this, new CallbackEventArgs<int>("Votes", updateFrequency));
//        //}

//        #endregion Methods
//    }
//}
